home *** CD-ROM | disk | FTP | other *** search
/ Internet Tools (InfoMagic) / Internet Tools.iso / security / tiger.README < prev    next >
Text File  |  1994-03-22  |  11KB  |  271 lines

  1.  
  2. 'tiger' is a set of scripts that scan a Un*x system looking for
  3. security problems, in the same fashion as Dan Farmer's COPS.  'tiger'
  4. was originally developed to provide a check of UNIX systems on the A&M
  5. campus that want to be accessed from off campus (clearance through the
  6. packet filter).  As such, we needed something that *anyone* could run
  7. if they could figure out how to get it down to their machine.
  8.  
  9. If you just want to run it, without regards to time considerations,
  10. then just 'cd' into the tiger directory and run './tiger' as 'root'.
  11.  
  12. --->  You should check to see if you have the latest digital signatures
  13.       for the system(s) you are checking.  I regularly place updated
  14.       signature files on anonymous FTP at
  15.  
  16.       net.tamu.edu:/pub/security/TAMU/tiger-sigs/*
  17.  
  18.       The util/installsigs script can be used to install the updated
  19.       signatures.  As of Tiger 2.2.2, installsigs is also capable
  20.       of installing signatures for new OS releases (not new platforms
  21.       or major releases though).
  22.  
  23.       ALSO NOTE NOTE:  There are fairly complete signature files for
  24.       various releases of SunOS available in the tiger-sigs/os-dist
  25.       directory.  These should be used if you want to thoroughly scan
  26.       your system for altered binaries.
  27.  
  28. *NOTE*
  29.  
  30. The 'tigerrc' file is set up for TAMU hosts, and disables/reduces some
  31. of the checks.  You should probably copy 'tigerrc-dist' to 'tigerrc'
  32. and edit it to taste.  It is set for a fuller check mode (TAMU hosts
  33. might want to run with this config file as well).  'tigerrc-all' has
  34. everything already maxed out and enabled (except for PATH_ALL).
  35.  
  36. (Or use the '-c' switch to use an alternate tigerrc file as of 2.2.2)
  37.  
  38. ------------------------------------------------------------------------
  39.  
  40. I recommend that you read the USING file for anything other than the
  41. aforementioned situation.
  42.  
  43. ****
  44.  
  45. See the file COPYING for legal stuff.
  46.  
  47. ------------------------------------------------------------------------
  48.  
  49. If you have any thing to say about 'tiger', please let us know.  New
  50. things to check, how to improve things, *anything*, send it in... if
  51. you think someone else has already sent in a bug report, suggestion,
  52. etc., send it in anyway... the more times someone hits me over the
  53. head with something, the more likely it is to get fix/included...
  54.  
  55. ********** NOTE NOTE NOTE NOTE NOTE NOTE ************
  56.  
  57. There is now a mailling list available for 'tiger'.  To subscribe,
  58. send mail to 'majordomo@net.tamu.edu'.  Include in the body of the
  59. message:
  60.  
  61. subscribe tiger
  62.  
  63. or 
  64.  
  65. subscribe tiger alternate_email_address
  66.  
  67. The mailling list is managed via Brent Chapman's 'majordomo' package.
  68.  
  69. Doug.
  70.  
  71. Doug.Schales@net.tamu.edu
  72.  
  73. New Stuff  01/06/94
  74. ---------
  75.  
  76. Updated signature files for SunOS 4.x and SunOS 5.x.
  77.  
  78. Bug fixes...
  79.  
  80. If the current directory is a descendant of a directory for which the
  81. user does not have 'read' permissions (i.e., search only), then csh
  82. and find do not always work.  Workaround is to 'cd /' where necessary.
  83. Not sure this has been completely implemented.
  84.  
  85. typo in scripts/sub/check_devs (Multiple people)
  86.  
  87. scripts/sub/check_devs exited if GENCLIENTDIRS undefined (Sally Noonan).
  88.  
  89. -x 'test' switch is not portable. (Sally Noonan)
  90.  
  91. AIX doesn't need '-g' (Dorian Deane)
  92.  
  93. IRIX test doesn't shortcircuit (Steve Rikli)
  94.  
  95. IRIX config had wrong definition for DATECMD and TIMECMD (Steve Rikli)
  96.  
  97. Crude 'smrsh' check performing poorly (Patrick Nolan & Mohamed el Lozy)
  98.  
  99. Changes for performance and robustness, as suggested by Goran
  100. Larsson.  A C program is used to get file ownership and permissions
  101. instead of 'ls | awk'.  (If the C program won't compile, we fall
  102. back to 'ls | awk'.
  103.  
  104. Changes to check_anonftp for performance.
  105.  
  106. Added -c switch to allow specifying alternate 'tigerrc' script (John Reynolds)
  107.  
  108. 'tigexp' loses command line parameters on NeXT 3.0 (Kelly Cunningham)
  109.  
  110. Added ethernet device files to check list for SunOS 5 (was already there
  111. in SunOS 4).  Also inspects /var/sadm/install/contents to check the
  112. perms there so that they don't get accidentally changed back.
  113.  
  114. New Stuff  10/31/93
  115. ---------
  116.  
  117. Mailling list available.  See the README file for more information.
  118.  
  119. Support for TAMU Linux distribution, may work on other Linux' as well.
  120.  
  121. Updated signatures for SunOS 4.x & SunOS 5.x for security patches.
  122.  
  123. 'installsig' script for installing new signature files (util/installsig).
  124. We will try to maintain up to date security patch signature files in
  125. the directory net.tamu.edu:/pub/security/TAMU/tiger-sigs.  Note that
  126. at present, only SunOS 4.x and SunOS 5.x are being actively maintained
  127. (not that there is a bias here, it is just easier for me to get information
  128. on these... contributions will be welcomed).
  129.  
  130. Various minor bug fixes relating to various platforms.
  131.  
  132. Fixed check_suid to handle MD5 signatures.
  133.  
  134. check_embedded now will optionally wait for the file system scans to
  135. complete and will check all setuid executables found for "bad"
  136. embedded pathnames.  See 'tigerrc' for configuring details.
  137.  
  138. New Stuff  08/17/93
  139. ---------
  140.  
  141. Script for checking embedded pathnames.  The other scripts collect
  142. filenames which are then fed into the check_embedded script.  This
  143. checks the ownership and permissions of all of these embedded pathnames.
  144. Be warned... this can generate *lots* of output.
  145.  
  146. Pathname checking is now much more complete.  Every "problem" is
  147. reported in detail, instead of saying "Hey, there's a problem with
  148. this pathname".
  149.  
  150. 'tigercron' should work a lot better now.
  151.  
  152. Script for checking BSD printcap printer control file.
  153.  
  154. Signatures for IRIX 4.0.5*, thanks to Steve Rikli.
  155. Signatures for NeXTOS 3.1, thanks to William McVey, et al.
  156.  
  157. Cleaned up output... much of the output now gets formatted to (default)
  158. 80 columns.
  159.  
  160. Digital signature checking now works with SNEFRU or MD5.  Automagically
  161. detects which signature to generate.
  162.  
  163. Signature checking is a lot faster now, especially if you have a
  164. clean system (the signature database is ordered such that the
  165. "good" signatures are first).
  166.  
  167. Interface to 'password' generator scripts changed so that the 
  168. generator scripts can do sanity checking on the base files.  Interfaces
  169. to all of the other generator scripts will be changed in next release.
  170.  
  171. Makefile for installing everything.  I'm not happy with the installation
  172. process this time either... if anyone wants to contribute a snazzy
  173. installation script I'll be happy to include it... 
  174.  
  175.  
  176. New Stuff  06/17/93
  177. ---------
  178.  
  179. First off, there are some man pages in the 'man' directory.  They are
  180. definitely lacking.  If I ever stop adding stuff to the package, maybe
  181. I will be able to write better documentation.
  182.  
  183. ********
  184. Explain facility.  All messages (should) have a message ID associated
  185. with them in square brackets [].  The script 'tigexp' can be used to
  186. get an explanation of the message.  Some (many?) of the explanations
  187. are lacking.  You can also insert the explanations into the output
  188. of 'tiger' by using the '-e' flag.  If anyone has suggestions or
  189. improved explanations, don't hesitate to send them to me.
  190.  
  191. ********
  192. Crack 4.1 interface.  'tiger' will now run Alec Muffett's password
  193. cracker 'Crack'.  See the 'tigerrc' file and 'site-sample' file for
  194. information on enabling it (it is disabled by default).
  195.  
  196. ********
  197. Systems:
  198.  
  199. SunOS 4.1.1 sun3, 4.1.1 sun4, 4.1.2, 4.1.3, 5.1, 5.2 sun4
  200. NeXT 3.0
  201.  
  202. There, but untested (and I do mean untested).  You can try them,
  203. but they have *never* been used, so I have no idea what to expect.
  204. Some parts are missing (i.e., no signature files).
  205.  
  206. AIX 3.x (if this one works... any idea why so many setuid's on AIX 3?)
  207. HPUX (probably anything up to 9.x)
  208. IRIX 4.x
  209. UNICOS 6.x 7.x (if those pesky users didn't use the machine so much...)
  210.  
  211. ********
  212. More checks.  A few of the additions since the last release are:
  213.  
  214. check_aliases:  Check mail aliases for problems.
  215. check_cron:  Check 'cron' entries for problems.
  216. check_group:  Cross reference 'group' files for problems.
  217. check_passwd:  Cross reference 'passwd' files for problems.
  218. check_path:  Check 'root' (and optionally all users) PATH for problems.
  219.  
  220. In addition all previous scripts have been beefed up with many more
  221. checks.  File Permission databases have been improved (though they
  222. still need more work).  Scripts which check the path to executables
  223. and files now check the pathname thoroughly, even in the face of
  224. symbolic links.
  225.  
  226. The file system scans now report device files, world writable
  227. directories, symbolic links to system files, in addition to setuid
  228. executables.  Also the setuid checks now attempt to determine if a
  229. setuid program is an old version of a binary for which a security
  230. patch was released (i.e., it was moved out of the way, but never
  231. deleted or chmod'd, and hence may still be a security problem).
  232.  
  233. For servers of diskless or dataless clients, some "quick" checks of
  234. the clients can be performed on the server (see man/tiger.man).  Not
  235. everything can be checked.  Plus, support is not complete.
  236.  
  237. It is possible to install 'tiger' now so that you don't have to
  238. feed it all the names of the directories on each invocation.
  239. Just run 'Install'... it will prompt for names.
  240.  
  241. 'tigercron' provides a simple-cron facility with report differencing
  242. capability and mailing of reports.  This is just started and needs
  243. more work to be really useful.  See the 'cronrc' file for a sample
  244. input to it.
  245.  
  246. Checks for the availability of a utility commands have been moved
  247. nearer to where they are actually needed (as opposed to having them
  248. at the top of each script).  This enables more checks to be performed
  249. when only a few commands are missing.
  250.  
  251. All cleanup of scratch files goes through the 'delete' routine which
  252. won't delete a file that isn't in the scratch work directory.  This
  253. is to prevent programmer errors from zapping the wrong file [what?
  254. programmer errors?  Never... :)]
  255.  
  256. Some more C code added.  Handling of obtaining a compilation of the
  257. source improved.  For casual use, nothing need be done.  The C code
  258. will be compiled and installed in the Bindir (TIGERHOME/bin by default).
  259. For regular use, or use in a large group of systems, sharing the
  260. tiger directories, the binaries can be compiled and stored in the
  261. respective system directories.  The scripts will use the binary
  262. directly from that directory.  The Solaris 2.x (SunOS 5) directory
  263. provides precompiled binaries (no C compiler by default).
  264.  
  265. Finally, if you try to run this on a system with an old or broken
  266. Bourne shell, or one without functions, have a peek at util/setsh.
  267. This will change all the '#!' headers to some other shell (i.e. ksh or
  268. bash).  Note that 'tiger' has never been run under either of these,
  269. but it might be worth a shot.
  270.  
  271.